﻿using System;
using System.Windows.Forms;
using ValidationEngine.Commons.Enums;
namespace ValidationEngine.Commons
{
    /// <summary>
    /// Model manager interface
    /// </summary>
    interface IModelMgr
    {
        /// <summary>
        /// Model to monitor
        /// </summary>
        IValidateableModel Model { get; set; }
        
        /// <summary>
        /// Validates model
        /// </summary>
        /// <param name="ctx">Rule appling context</param>
        void RevalidateModel(RuleApplingContext ctx);

        /// <summary>
        /// Model's binding source to monitor
        /// </summary>
        BindingSource ModelSource { set; }
    }
}
